/**
 * @file 入口文件
 * @version 1.0.0
 * @author qingxue
 * @createDate 2024-04-06 20:00
 * @updateDate 2024-04-06 20:00
 */

const baseConfig = require('./config/base.config').base;

// 引入 express 模块
const express = require('express');
const app = express();

// 引入 body-parser 模块
const bodyParser = require('body-parser');
app.use(bodyParser.text({ extended: true})); // 允许接收文本
app.use(bodyParser.urlencoded({ extended: true })); // 允许接收表单数据

// 引入 module-alias 模块
require('module-alias/register');

// 静态化文件
app.use(express.static('assets'));

// 跨域配置
app.use((req, res, next) => {
  res.setHeader('Access-Control-Allow-Origin','*'); // 允许哪些域名请求我
  res.setHeader('Access-Control-Request-Methods','GET,POST,PUT,DELETE,OPTIONS'); // 允许哪些请求方式可以请求我
  res.setHeader('Access-Control-Allow-Headers','x-requested-with,content-type'); // 允许携带哪些请求头信息
  next();
});

// 全局拦截器
require('./utils/permission/permission')(app);

// 加载控制器
require('./controllers')(app);

// 监听端口
app.listen(baseConfig.port);
